home *** CD-ROM | disk | FTP | other *** search
- =head1 NAME
-
- perl585delta - what is new for perl v5.8.5
-
- =head1 DESCRIPTION
-
- This document describes differences between the 5.8.4 release and
- the 5.8.5 release.
-
- =head1 Incompatible Changes
-
- There are no changes incompatible with 5.8.4.
-
- =head1 Core Enhancements
-
- Perl's regular expression engine now contains support for matching on the
- intersection of two Unicode character classes. You can also now refer to
- user-defined character classes from within other user defined character
- classes.
-
- =head1 Modules and Pragmata
-
- =over 4
-
- =item *
-
- Carp improved to work nicely with Safe. Carp's message reporting should now
- be anomaly free - it will always print out line number information.
-
- =item *
-
- CGI upgraded to version 3.05
-
- =item *
-
- charnames now avoids clobbering $_
-
- =item *
-
- Digest upgraded to version 1.08
-
- =item *
-
- Encode upgraded to version 2.01
-
- =item *
-
- FileCache upgraded to version 1.04
-
- =item *
-
- libnet upgraded to version 1.19
-
- =item *
-
- Pod::Parser upgraded to version 1.28
-
- =item *
-
- Pod::Perldoc upgraded to version 3.13
-
- =item *
-
- Pod::LaTeX upgraded to version 0.57
-
- =item *
-
- Safe now works properly with Carp
-
- =item *
-
- Scalar-List-Utils upgraded to version 1.14
-
- =item *
-
- Shell's documentation has been re-written, and its historical partial
- auto-quoting of command arguments can now be disabled.
-
- =item *
-
- Test upgraded to version 1.25
-
- =item *
-
- Test::Harness upgraded to version 2.42
-
- =item *
-
- Time::Local upgraded to version 1.10
-
- =item *
-
- Unicode::Collate upgraded to version 0.40
-
- =item *
-
- Unicode::Normalize upgraded to version 0.30
-
- =back
-
- =head1 Utility Changes
-
- =head2 Perl's debugger
-
- The debugger can now emulate stepping backwards, by restarting and rerunning
- all bar the last command from a saved command history.
-
- =head2 h2ph
-
- F<h2ph> is now able to understand a very limited set of C inline functions
- -- basically, the inline functions that look like CPP macros. This has
- been introduced to deal with some of the headers of the newest versions of
- the glibc. The standard warning still applies; to quote F<h2ph>'s
- documentation, I<you may need to dicker with the files produced>.
-
- =head1 Installation and Configuration Improvements
-
- Perl 5.8.5 should build cleanly from source on LynxOS.
-
- =head1 Selected Bug Fixes
-
- =over 4
-
- =item *
-
- The in-place sort optimisation introduced in 5.8.4 had a bug. For example,
- in code such as
-
- @a = sort ($b, @a)
-
- the result would omit the value $b. This is now fixed.
-
- =item *
-
- The optimisation for unnecessary assignments introduced in 5.8.4 could give
- spurious warnings. This has been fixed.
-
- =item *
-
- Perl should now correctly detect and read BOM-marked and (BOMless) UTF-16
- scripts of either endianness.
-
- =item *
-
- Creating a new thread when weak references exist was buggy, and would often
- cause warnings at interpreter destruction time. The known bug is now fixed.
-
- =item *
-
- Several obscure bugs involving manipulating Unicode strings with C<substr> have
- been fixed.
-
- =item *
-
- Previously if Perl's file globbing function encountered a directory that it
- did not have permission to open it would return immediately, leading to
- unexpected truncation of the list of results. This has been fixed, to be
- consistent with Unix shells' globbing behaviour.
-
- =item *
-
- Thread creation time could vary wildly between identical runs. This was caused
- by a poor hashing algorithm in the thread cloning routines, which has now
- been fixed.
-
- =item *
-
- The internals of the ithreads implementation were not checking if OS-level
- thread creation had failed. threads->create() now returns C<undef> in if
- thread creation fails instead of crashing perl.
-
- =back
-
- =head1 New or Changed Diagnostics
-
- =over 4
-
- =item *
-
- Perl -V has several improvements
-
- =over 4
-
- =item *
-
- correctly outputs local patch names that contain embedded code snippets
- or other characters that used to confuse it.
-
- =item *
-
- arguments to -V that look like regexps will give multiple lines of output.
-
- =item *
-
- a trailing colon suppresses the linefeed and ';' terminator, allowing
- embedding of queries into shell commands.
-
- =item *
-
- a leading colon removes the 'name=' part of the response, allowing mapping to
- any name.
-
- =back
-
- =item *
-
- When perl fails to find the specified script, it now outputs a second line
- suggesting that the user use the C<-S> flag:
-
- $ perl5.8.5 missing.pl
- Can't open perl script "missing.pl": No such file or directory.
- Use -S to search $PATH for it.
-
- =back
-
- =head1 Changed Internals
-
- The Unicode character class files used by the regular expression engine are
- now built at build time from the supplied Unicode consortium data files,
- instead of being shipped prebuilt. This makes the compressed Perl source
- tarball about 200K smaller. A side effect is that the layout of files inside
- lib/unicore has changed.
-
- =head1 Known Problems
-
- The regression test F<t/uni/class.t> is now performing considerably more
- tests, and can take several minutes to run even on a fast machine.
-
- =head1 Platform Specific Problems
-
- This release is known not to build on Windows 95.
-
- =head1 Reporting Bugs
-
- If you find what you think is a bug, you might check the articles
- recently posted to the comp.lang.perl.misc newsgroup and the perl
- bug database at http://bugs.perl.org. There may also be
- information at http://www.perl.org, the Perl Home Page.
-
- If you believe you have an unreported bug, please run the B<perlbug>
- program included with your release. Be sure to trim your bug down
- to a tiny but sufficient test case. Your bug report, along with the
- output of C<perl -V>, will be sent off to perlbug@perl.org to be
- analysed by the Perl porting team. You can browse and search
- the Perl 5 bugs at http://bugs.perl.org/
-
- =head1 SEE ALSO
-
- The F<Changes> file for exhaustive details on what changed.
-
- The F<INSTALL> file for how to build Perl.
-
- The F<README> file for general stuff.
-
- The F<Artistic> and F<Copying> files for copyright information.
-
- =cut
-